[INFO] fetching crate bustubx 0.3.0...
[INFO] checking bustubx-0.3.0 against master#82310651b93a594a3fd69015e1562186a080d94c for pr-145770
[INFO] extracting crate bustubx 0.3.0 into /workspace/builds/worker-5-tc1/source
[INFO] started tweaking crates.io crate bustubx 0.3.0
[INFO] finished tweaking crates.io crate bustubx 0.3.0
[INFO] tweaked toml for crates.io crate bustubx 0.3.0 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate bustubx 0.3.0 on toolchain 82310651b93a594a3fd69015e1562186a080d94c
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+82310651b93a594a3fd69015e1562186a080d94c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+82310651b93a594a3fd69015e1562186a080d94c" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]      Locking 71 packages to latest compatible versions
[INFO] [stderr]       Adding dashmap v5.5.3 (available: v6.1.0)
[INFO] [stderr]       Adding derive-new v0.5.9 (available: v0.7.0)
[INFO] [stderr]       Adding derive-with v0.5.0 (available: v0.6.1)
[INFO] [stderr]       Adding itertools v0.11.0 (available: v0.14.0)
[INFO] [stderr]       Adding sqlparser v0.34.0 (available: v0.58.0)
[INFO] [stderr]       Adding strum v0.26.3 (available: v0.27.2)
[INFO] [stderr]       Adding thiserror v1.0.69 (available: v2.0.16)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+82310651b93a594a3fd69015e1562186a080d94c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded derive-with v0.5.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+82310651b93a594a3fd69015e1562186a080d94c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 84143de23634c8676f7acd4d901cf2f670aeb777f0d0724dae634ad8d44fd2ba
[INFO] running `Command { std: "docker" "start" "-a" "84143de23634c8676f7acd4d901cf2f670aeb777f0d0724dae634ad8d44fd2ba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "84143de23634c8676f7acd4d901cf2f670aeb777f0d0724dae634ad8d44fd2ba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "84143de23634c8676f7acd4d901cf2f670aeb777f0d0724dae634ad8d44fd2ba", kill_on_drop: false }`
[INFO] [stdout] 84143de23634c8676f7acd4d901cf2f670aeb777f0d0724dae634ad8d44fd2ba
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+82310651b93a594a3fd69015e1562186a080d94c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6831a96f14329f38a2a14f069b40556c6177735d7135b55fe9072d19a5a9b0ab
[INFO] running `Command { std: "docker" "start" "-a" "6831a96f14329f38a2a14f069b40556c6177735d7135b55fe9072d19a5a9b0ab", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling unicode-ident v1.0.18
[INFO] [stderr]    Compiling libc v0.2.175
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]     Checking cfg-if v1.0.3
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]     Checking bitflags v2.9.3
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling rustix v1.0.8
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]     Checking linux-raw-sys v0.9.4
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]     Checking unicode-segmentation v1.12.0
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking unicode-width v0.2.1
[INFO] [stderr]    Compiling lock_api v0.4.13
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking fastrand v2.3.0
[INFO] [stderr]     Checking log v0.4.27
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]     Checking itertools v0.11.0
[INFO] [stderr]     Checking sqlparser v0.34.0
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]     Checking parking_lot v0.12.4
[INFO] [stderr]     Checking dashmap v5.5.3
[INFO] [stderr]     Checking crossterm v0.28.1
[INFO] [stderr]     Checking tempfile v3.21.0
[INFO] [stderr]     Checking comfy-table v7.1.4
[INFO] [stderr]    Compiling derive-new v0.5.9
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling derive-with v0.5.0
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking bustubx v0.3.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::storage::codec::TablePageCodec`
[INFO] [stdout]  --> src/catalog/information.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::storage::codec::TablePageCodec;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::storage::codec::BPlusTreePageCodec`
[INFO] [stdout]  --> src/common/util.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::storage::codec::BPlusTreePageCodec;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/execution/physical_plan/values.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `catalog::Schema`
[INFO] [stdout]  --> src/execution/physical_plan/values.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     catalog::Schema,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::storage::codec::TablePageCodec`
[INFO] [stdout]  --> src/catalog/information.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::storage::codec::TablePageCodec;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::storage::codec::BPlusTreePageCodec`
[INFO] [stdout]  --> src/common/util.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::storage::codec::BPlusTreePageCodec;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/execution/physical_plan/values.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `catalog::Schema`
[INFO] [stdout]  --> src/execution/physical_plan/values.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     catalog::Schema,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `fetch_tree_internal_page` and `delete_page` are never used
[INFO] [stdout]    --> src/buffer/buffer_pool.rs:142:12
[INFO] [stdout]     |
[INFO] [stdout] 34  | impl BufferPoolManager {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 142 |     pub fn fetch_tree_internal_page(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     pub fn delete_page(&self, page_id: PageId) -> BustubxResult<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `destroy` is never used
[INFO] [stdout]   --> src/buffer/page.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl Page {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn destroy(&mut self) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/catalog/catalog.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct CatalogSchema {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 29 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CatalogSchema` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/catalog/catalog.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct CatalogTable {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 44 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CatalogTable` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pretty_format_index_tree` is never used
[INFO] [stdout]   --> src/common/util.rs:74:15
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub(crate) fn pretty_format_index_tree(index: &BPlusTreeIndex) -> BustubxResult<String> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `disk_manager` and `temp_dir` are never read
[INFO] [stdout]   --> src/database.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct Database {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 21 |     disk_manager: Arc<DiskManager>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     temp_dir: Option<TempDir>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `join_type` is never read
[INFO] [stdout]   --> src/execution/physical_plan/nested_loop_join.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct PhysicalNestedLoopJoin {
[INFO] [stdout]    |            ---------------------- field in this struct
[INFO] [stdout] 18 |     pub join_type: JoinType,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PhysicalNestedLoopJoin` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `table_schema` is never read
[INFO] [stdout]   --> src/execution/physical_plan/update.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct PhysicalUpdate {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 13 |     pub table: TableReference,
[INFO] [stdout] 14 |     pub table_schema: SchemaRef,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PhysicalUpdate` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `name` is never used
[INFO] [stdout]   --> src/optimizer/logical_optimizer.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub trait LogicalOptimizerRule {
[INFO] [stdout]    |           -------------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 16 |     fn name(&self) -> &str;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `with_rules` is never used
[INFO] [stdout]   --> src/optimizer/logical_optimizer.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl LogicalOptimizer {
[INFO] [stdout]    | --------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn with_rules(rules: Vec<Arc<dyn LogicalOptimizerRule + Send + Sync>>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `deallocate_page`, `freelist_push`, and `db_file_len` are never used
[INFO] [stdout]    --> src/storage/disk_manager.rs:147:12
[INFO] [stdout]     |
[INFO] [stdout] 26  | impl DiskManager {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 147 |     pub fn deallocate_page(&self, page_id: PageId) -> BustubxResult<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     fn freelist_push(&self, page_id: PageId) -> BustubxResult<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |     pub fn db_file_len(&self) -> BustubxResult<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `root_page_id` and `write_set` are never read
[INFO] [stdout]   --> src/storage/index.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct Context {
[INFO] [stdout]    |        ------- fields in this struct
[INFO] [stdout] 22 |     pub root_page_id: PageId,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 23 |     pub write_set: VecDeque<PageId>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/storage/index.rs:146:12
[INFO] [stdout]     |
[INFO] [stdout] 46  | impl BPlusTreeIndex {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 146 |     pub fn delete(&self, key: &Tuple) -> BustubxResult<()> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     pub fn get(&self, key: &Tuple) -> BustubxResult<Option<RecordId>> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 328 |     fn borrow_min_kv(
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 337 |     fn borrow_max_kv(
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 346 |     fn borrow(
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 435 |     fn find_sibling_pages(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 446 |     fn merge(
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 526 |     fn find_subtree_max_leafkv(&self, page_id: PageId) -> BustubxResult<LeafKV> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_full` and `push` are never used
[INFO] [stdout]   --> src/storage/page/freelist_page.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl FreelistPage {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn is_full(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn push(&mut self, page_id: PageId) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_underflow` and `can_borrow` are never used
[INFO] [stdout]   --> src/storage/page/index_page.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl BPlusTreePage {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn is_underflow(&self, is_root: bool) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn can_borrow(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/storage/page/index_page.rs:94:12
[INFO] [stdout]     |
[INFO] [stdout] 82  | impl BPlusTreeInternalPage {
[INFO] [stdout]     | -------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 94  |     pub fn min_size(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 97  |     pub fn key_at(&self, index: usize) -> &Tuple {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn values(&self) -> Vec<PageId> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub fn sibling_page_ids(&self, page_id: PageId) -> (Option<PageId>, Option<PageId>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub fn delete(&mut self, key: &Tuple) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 181 |     pub fn delete_page_id(&mut self, page_id: PageId) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub fn reverse_split_off(&mut self, at: usize) -> Vec<InternalKV> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 210 |     pub fn replace_key(&mut self, old_key: &Tuple, new_key: Tuple) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     pub fn key_index(&self, key: &Tuple) -> Option<usize> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `min_size`, `reverse_split_off`, `delete`, `look_up`, and `key_index` are never used
[INFO] [stdout]    --> src/storage/page/index_page.rs:323:12
[INFO] [stdout]     |
[INFO] [stdout] 296 | impl BPlusTreeLeafPage {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 323 |     pub fn min_size(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 359 |     pub fn reverse_split_off(&mut self, at: usize) -> Vec<LeafKV> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 368 |     pub fn delete(&mut self, key: &Tuple) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 377 |     pub fn look_up(&self, key: &Tuple) -> Option<RecordId> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 382 |     fn key_index(&self, key: &Tuple) -> Option<usize> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `update_tuple_meta` and `tuple_meta` are never used
[INFO] [stdout]    --> src/storage/page/table_page.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 80  | impl TablePage {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub fn update_tuple_meta(&mut self, meta: TupleMeta, slot_num: u16) -> BustubxResult<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 227 |     pub fn tuple_meta(&self, slot_num: u16) -> BustubxResult<TupleMeta> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `update_tuple_meta` and `tuple_meta` are never used
[INFO] [stdout]    --> src/storage/table_heap.rs:124:12
[INFO] [stdout]     |
[INFO] [stdout] 22  | impl TableHeap {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn update_tuple_meta(&self, meta: TupleMeta, rid: RecordId) -> BustubxResult<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub fn tuple_meta(&self, rid: RecordId) -> BustubxResult<TupleMeta> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LockMode` is never used
[INFO] [stdout]  --> src/transaction/lock_manager.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum LockMode {
[INFO] [stdout]   |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LockRequest` is never constructed
[INFO] [stdout]   --> src/transaction/lock_manager.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct LockRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LockManager` is never constructed
[INFO] [stdout]   --> src/transaction/lock_manager.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct LockManager {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `lock_table`, `unlock_table`, `lock_row`, `unlock_row`, and `unlock_all` are never used
[INFO] [stdout]   --> src/transaction/lock_manager.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl LockManager {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] 29 |     pub fn lock_table(
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn unlock_table(&self, _txn: Transaction, _table_ref: TableReference) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn lock_row(
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn unlock_row(
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn unlock_all(&self) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Transaction` is never constructed
[INFO] [stdout]  --> src/transaction/transaction.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Transaction {}
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `IsolationLevel` is never used
[INFO] [stdout]  --> src/transaction/transaction_manager.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum IsolationLevel {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TransactionManager` is never constructed
[INFO] [stdout]  --> src/transaction/transaction_manager.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct TransactionManager {}
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `begin`, `commit`, and `abort` are never used
[INFO] [stdout]   --> src/transaction/transaction_manager.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl TransactionManager {
[INFO] [stdout]    | ----------------------- methods in this implementation
[INFO] [stdout] 12 |     pub fn begin(&self, _isolation_level: IsolationLevel) -> Transaction {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn commit(&self, _txn: Transaction) -> bool {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn abort(&self, _txn: Transaction) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/catalog/catalog.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct CatalogSchema {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 29 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CatalogSchema` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/catalog/catalog.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct CatalogTable {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 44 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CatalogTable` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `disk_manager` and `temp_dir` are never read
[INFO] [stdout]   --> src/database.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct Database {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 21 |     disk_manager: Arc<DiskManager>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     temp_dir: Option<TempDir>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `join_type` is never read
[INFO] [stdout]   --> src/execution/physical_plan/nested_loop_join.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct PhysicalNestedLoopJoin {
[INFO] [stdout]    |            ---------------------- field in this struct
[INFO] [stdout] 18 |     pub join_type: JoinType,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PhysicalNestedLoopJoin` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `table_schema` is never read
[INFO] [stdout]   --> src/execution/physical_plan/update.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct PhysicalUpdate {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 13 |     pub table: TableReference,
[INFO] [stdout] 14 |     pub table_schema: SchemaRef,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PhysicalUpdate` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `name` is never used
[INFO] [stdout]   --> src/optimizer/logical_optimizer.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub trait LogicalOptimizerRule {
[INFO] [stdout]    |           -------------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 16 |     fn name(&self) -> &str;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `root_page_id` and `write_set` are never read
[INFO] [stdout]   --> src/storage/index.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct Context {
[INFO] [stdout]    |        ------- fields in this struct
[INFO] [stdout] 22 |     pub root_page_id: PageId,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 23 |     pub write_set: VecDeque<PageId>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `find_subtree_max_leafkv` is never used
[INFO] [stdout]    --> src/storage/index.rs:526:8
[INFO] [stdout]     |
[INFO] [stdout] 46  | impl BPlusTreeIndex {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 526 |     fn find_subtree_max_leafkv(&self, page_id: PageId) -> BustubxResult<LeafKV> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LockMode` is never used
[INFO] [stdout]  --> src/transaction/lock_manager.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum LockMode {
[INFO] [stdout]   |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LockRequest` is never constructed
[INFO] [stdout]   --> src/transaction/lock_manager.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct LockRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LockManager` is never constructed
[INFO] [stdout]   --> src/transaction/lock_manager.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct LockManager {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `lock_table`, `unlock_table`, `lock_row`, `unlock_row`, and `unlock_all` are never used
[INFO] [stdout]   --> src/transaction/lock_manager.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl LockManager {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] 29 |     pub fn lock_table(
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn unlock_table(&self, _txn: Transaction, _table_ref: TableReference) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn lock_row(
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn unlock_row(
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn unlock_all(&self) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Transaction` is never constructed
[INFO] [stdout]  --> src/transaction/transaction.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Transaction {}
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `IsolationLevel` is never used
[INFO] [stdout]  --> src/transaction/transaction_manager.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum IsolationLevel {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TransactionManager` is never constructed
[INFO] [stdout]  --> src/transaction/transaction_manager.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct TransactionManager {}
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `begin`, `commit`, and `abort` are never used
[INFO] [stdout]   --> src/transaction/transaction_manager.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl TransactionManager {
[INFO] [stdout]    | ----------------------- methods in this implementation
[INFO] [stdout] 12 |     pub fn begin(&self, _isolation_level: IsolationLevel) -> Transaction {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn commit(&self, _txn: Transaction) -> bool {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn abort(&self, _txn: Transaction) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.69s
[INFO] running `Command { std: "docker" "inspect" "6831a96f14329f38a2a14f069b40556c6177735d7135b55fe9072d19a5a9b0ab", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6831a96f14329f38a2a14f069b40556c6177735d7135b55fe9072d19a5a9b0ab", kill_on_drop: false }`
[INFO] [stdout] 6831a96f14329f38a2a14f069b40556c6177735d7135b55fe9072d19a5a9b0ab
